以下筆記摘錄自『 The Go Workshop 』。接下來會依序介紹到Golang的集合型別,「陣列(Array)」、「切片(Slice)」、「映射表(Map)」。
最基本的集合型別,在很多語言也有,例如javascript,需要指定資料型別跟陣列大小。
[<長度>]<型別>
For example,
[3]int
建立了一個長度為3的[0, 0, 0]
的陣列。
注意,宣告陣列必須指定長度,否則得到的會是切片(Slice)。
我們也可以在宣告陣列時給予初始值
[<長度>]<型別>{<值1>, <值2>, ... <值N>}
For example,
[3]int{1}
會是一個第一個數字是1,其他元素是0的陣列:[1, 0, 0]
Golang其實可以根據你提供的初始值來定義長度,只要使用以下方式
[...]int{1, 2, 3, 4, 5}
這樣就會建立一個長度為5的陣列[1, 2, 3, 4, 5]
長度不一樣的陣列無法做比較,這點很重要!
還可以透過索引鍵賦值
[<長度>]<型別>{<索引鍵1>: <值1>, <索引鍵2>: <值2>, ... <索引鍵N>: <值N>}
For example,
[5]int{2: 7, 4: 8}
會建立一個長度為5的陣列[0, 0, 7, 0, 8]